TextView中添加下划线、不同颜色、点击跳转的字
如果需要实现这种效果,
直接上代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20tv = (TextView) findViewById(R.id.tv);
tv.append("hehehehahaha");
SpannableString ssb = new SpannableString("点击跳转");
ssb.setSpan(new ClickableSpan() {
public void onClick(View view) {
startActivity(new Intent(MainActivity.this,SecondActivity.class)); //点击跳转
}
public void updateDrawState(TextPaint ds) { //设置样式
super.updateDrawState(ds);
ds.setColor(getResources().getColor(R.color.textclick)); //字体颜色
ds.setUnderlineText(true); //下划线
}
},0,ssb.length(),SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.append(ssb);
tv.setMovementMethod(LinkMovementMethod.getInstance()); //开始响应点击事件
这里设置的是ClickableSpan,即点击效果,同时在updateDrawState中设置了字体样式,
如果仅仅是想要下划线或者字体变色的话,那么ssb.setSpan(new ForegroundColorSpan(Color.MAGENTA),0,ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ssb.setSpan(new UnderlineSpan(),0,ssb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
即可,还有很多各式各样的span类型,大家自己试吧
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 七夜的小屋!